package com.rs.utils;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;

import com.rs.game.World;
import com.rs.game.WorldObject;
import com.rs.game.WorldTile;
import com.rs.game.npc.NPC;
import com.rs.utils.Utils.EntityDirection;

public class NPCSpawning {

	/**
	 * Contains the custom npc spawning
	 */

	public static void spawnNPCS() {

		/***************************** HOME *****************************************/
		World.spawnNPC(4506, new WorldTile(4382, 5915, 0), -1, false, EntityDirection.NORTH); // Shopkeeper (General Store)
		
		World.spawnNPC(548, new WorldTile(2823, 3862, 0), -1, false, EntityDirection.SOUTH); // Thessalia
		World.spawnNPC(14912, new WorldTile(2822, 3858, 0), -1, false, EntityDirection.EAST); // FredBinder
		World.spawnNPC(520, new WorldTile(2823, 3855, 0), -1, false, EntityDirection.NORTH); // Shopkeeper (General Store)
		World.spawnNPC(15533, new WorldTile(2822, 3859, 0), -1, false, EntityDirection.EAST); // MinnieCoop
		World.spawnNPC(15582, new WorldTile(2822, 3860, 0), -1, false, EntityDirection.EAST); // HeyPresto
		World.spawnNPC(14943, new WorldTile(2822, 3857, 0), -1, false, EntityDirection.EAST); // Druid Elementalist

		World.spawnNPC(4585, new WorldTile(2837, 3855, 0), 0, false, EntityDirection.NORTHWEST); // Voter
		World.spawnNPC(14282, new WorldTile(2836, 3864, 0), 0, false, EntityDirection.SOUTHWEST); // Sakirth
		World.spawnNPC(9085, new WorldTile(2838, 3861, 0), 0, false, EntityDirection.WEST); // Kuradal
		World.spawnNPC(13697, new WorldTile(2838, 3857, 0), 0, false, EntityDirection.WEST); // CaptainJute
		World.spawnNPC(13928, new WorldTile(2827, 3858, 0), 0, false, EntityDirection.EAST); // Artisan
		World.spawnNPC(2998, new WorldTile(2827, 3857, 0), 0, false, EntityDirection.EAST); // Gambler
		World.spawnNPC(4286, new WorldTile(2828, 3855, 0), 0, false, EntityDirection.NORTHEAST); // Loyalty Manager		
		World.spawnNPC(15872, new WorldTile(2841, 3859, 0), 0, false, true); // ?		
		
		World.spawnNPC(0, new WorldTile(3222, 3222, 0), 0, false, true); // Hans
		World.spawnNPC(5424, new WorldTile(2828, 3865, 0), 0, false, EntityDirection.SOUTHEAST); // Larry
		World.spawnNPC(519, new WorldTile(2827, 3861, 0), 0, false, EntityDirection.EAST); // Bob
		World.spawnNPC(4250, new WorldTile(2827, 3862, 0), 0, false, EntityDirection.EAST); // Sawmill Operator
		World.spawnNPC(14830, new WorldTile(5881, 4679, 1), 0, false, EntityDirection.EAST); // Char/Donator Zone
		World.spawnNPC(804, new WorldTile(3274, 3105, 0), 0, false, EntityDirection.EAST); // Tanner
		World.spawnNPC(804, new WorldTile(5886, 4673, 1), 0, false, EntityDirection.EAST); // Tanner (DZ)
		// World.spawnObject(new WorldObject(id, 10, direction, x, y, z), true);

		World.spawnObject(new WorldObject(13199, 10, 3, 2838, 3862, 0), true); // Altar at home
		World.spawnObject(new WorldObject(13199, 10, 2, 5891, 4674, 1), true); // Altar at dz
		World.spawnObject(new WorldObject(30624, 10, 0, 5880, 4661, 1), true); // Blood altar at dz
		World.spawnObject(new WorldObject(172, 10, 1, 2827, 3860, 0), true);
		World.spawnObject(new WorldObject(13707, 10, 1, 2827, 3863, 0), true);
		World.spawnObject(new WorldObject(9759, 10, 0, 2569, 5732, 0), true);
		World.spawnObject(new WorldObject(42135, 10, 1, 1968, 3245, 0), true);
		World.spawnObject(new WorldObject(42135, 10, 1, 1967, 3245, 0), true);
		World.spawnObject(new WorldObject(42135, 10, 1, 1966, 3245, 0), true);
		World.spawnObject(new WorldObject(42148, 10, 1, 1807, 3219, 0), true);
		
		/*QUESTS*/
		World.spawnNPC(654, new WorldTile(3138, 3212, 0), 0, false, EntityDirection.SOUTH); // Shamus
		World.spawnNPC(208, new WorldTile(2567, 3463, 0), 0, false); // Captain Lawgof
		World.spawnNPC(209, new WorldTile(3016, 3448, 0), 0, false); // Nulodion
		World.spawnNPC(8526, new WorldTile(1888, 3179, 0), 0, true); // Zimberfizz
		
		/*PENGUINS*/
		World.spawnNPC(8110, new WorldTile(3225, 3371, 0), -1, true, true);
		World.spawnNPC(8109, new WorldTile(3216, 3399, 1), -1, true, true);
		World.spawnNPC(8108, new WorldTile(3201, 3433, 0), -1, true, true);
		World.spawnNPC(8107, new WorldTile(3175, 3408, 0), -1, true, true);
		World.spawnNPC(8106, new WorldTile(3158, 3489, 0), -1, true, true);
		World.spawnNPC(8105, new WorldTile(3228, 3475, 0), -1, true, true);
		World.spawnNPC(8104, new WorldTile(3253, 3487, 0), -1, true, true);
		
		/* BANK BOOTHS */
		World.spawnObject(new WorldObject(76274, 10, -3, 2830, 3869, 0), true);
		World.spawnObject(new WorldObject(76274, 10, -3, 2831, 3869, 0), true);
		World.spawnObject(new WorldObject(76274, 10, -3, 2832, 3869, 0), true);
		World.spawnObject(new WorldObject(76274, 10, -3, 2833, 3869, 0), true);
		World.spawnObject(new WorldObject(76274, 10, -3, 2834, 3869, 0), true);
		World.spawnObject(new WorldObject(76274, 10, -3, 2835, 3869, 0), true);
		World.spawnObject(new WorldObject(13612, 10, 1, 2832, 3871, 0), true); 

		
		World.spawnNPC(498, new WorldTile(2833, 3870, 0), 0, false, EntityDirection.SOUTH); // Banker
		World.spawnNPC(498, new WorldTile(2832, 3870, 0), 0, false, EntityDirection.SOUTH); // Banker
		
		/* THIEVING STALLS */
		World.spawnObject(new WorldObject(4875, 10, 1, 2835, 3851, 0), true);
		World.spawnObject(new WorldObject(4876, 10, 1, 2835, 3850, 0), true);
		World.spawnObject(new WorldObject(4877, 10, 1, 2835, 3849, 0), true);
		World.spawnObject(new WorldObject(4878, 10, 1, 2835, 3848, 0), true);
		/* THIEVING STALLS */
		
		/* SUMMONING BANK CHEST */
		World.spawnObject(new WorldObject(27663, 10, -2, 2932, 3451, 0), true);// Bank chest
		/* SUMMONING BANK CHEST */
		
		// World.removeObject(new WorldObject(objectId, 10, 0, x, y, z), true);
		World.deleteObject(new WorldObject(44250, 10, 1, 2837, 3861, 0)); // Weapon Rack 1
		World.deleteObject(new WorldObject(44249, 10, 1, 2837, 3856, 0)); // Weapon Rack 2
		World.deleteObject(new WorldObject(44251, 10, 3, 2828, 3861, 0)); // Weapon Rack 3
		World.deleteObject(new WorldObject(44252, 10, 3, 2828, 3856, 0)); // Weapon Rack 4
		World.deleteObject(new WorldObject(44251, 10, 1, 2844, 3853, 0)); // Weapon Rack 5
		World.deleteObject(new WorldObject(44111, 10, 1, 2834, 3851, 0)); // Armour 1
		World.deleteObject(new WorldObject(44111, 10, 1, 2834, 3849, 0)); // Armour 2
		World.deleteObject(new WorldObject(44111, 10, 1, 2834, 3847, 0)); // Armour 3
		World.deleteObject(new WorldObject(44111, 10, 3, 2831, 3851, 0)); // Armour 4
		World.deleteObject(new WorldObject(44111, 10, 3, 2831, 3849, 0)); // Armour 5
		World.deleteObject(new WorldObject(44111, 10, 3, 2831, 3847, 0)); // Armour 6
		World.deleteObject(new WorldObject(44112, 10, 1, 2837, 3863, 0)); // Skulls 1
		World.deleteObject(new WorldObject(44112, 10, 1, 2837, 3860, 0)); // Skulls 2
		World.deleteObject(new WorldObject(44112, 10, 1, 2837, 3858, 0)); // Skulls 3
		World.deleteObject(new WorldObject(44112, 10, 1, 2837, 3855, 0)); // Skulls 4
		World.deleteObject(new WorldObject(44112, 10, 3, 2828, 3855, 0)); // Skulls 5
		World.deleteObject(new WorldObject(44112, 10, 3, 2828, 3858, 0)); // Skulls 6
		World.deleteObject(new WorldObject(44112, 10, 3, 2828, 3860, 0)); // Skulls 7
		World.deleteObject(new WorldObject(44112, 10, 3, 2828, 3863, 0)); // Skulls 8
		World.deleteObject(new WorldObject(44105, 11, 0, 2829, 3863, 0)); // Crate 1
		World.deleteObject(new WorldObject(44106, 11, 0, 2828, 3865, 0)); // Crate 2
		World.deleteObject(new WorldObject(61564, 10, 3, 2836, 3863, 0)); // Crate 3
		World.deleteObject(new WorldObject(44105, 11, 2, 2837, 3864, 0)); // Crate 4
		World.deleteObject(new WorldObject(44105, 11, 2, 2835, 3854, 0)); // Crate 5
		World.deleteObject(new WorldObject(44105, 10, 0, 2830, 3855, 0)); // Crate 6
		World.deleteObject(new WorldObject(44106, 11, 3, 2829, 3854, 0)); // Crate 7
		World.deleteObject(new WorldObject(44105, 11, 1, 2830, 3853, 0)); // Crate 8
		World.deleteObject(new WorldObject(44106, 10, 1, 2844, 3852, 0)); // Crate 9
		World.deleteObject(new WorldObject(44105, 11, 3, 2837, 3852, 0)); // Crate 10
		World.deleteObject(new WorldObject(44105, 10, 1, 2838, 3852, 0)); // Crate 11
		World.deleteObject(new WorldObject(44105, 11, 1, 2839, 3853, 0)); // Crate 12
		World.deleteObject(new WorldObject(44104, 10, 0, 2836, 3855, 0)); // Barrel 1
		World.deleteObject(new WorldObject(44103, 10, 0, 2835, 3861, 0)); // Barrel 2
		World.deleteObject(new WorldObject(44103, 10, 3, 2839, 3860, 0)); // Barrel 3
		World.deleteObject(new WorldObject(44104, 10, 0, 2836, 3855, 0)); // Barrel 1
		World.deleteObject(new WorldObject(44103, 11, 2, 2834, 3867, 0)); // Barrel 2
		World.deleteObject(new WorldObject(44104, 11, 2, 2832, 3868, 0)); // Barrel 3
		World.deleteObject(new WorldObject(44105, 11, 2, 2831, 3867, 0)); // Barrel 2
		World.deleteObject(new WorldObject(44106, 11, 2, 2831, 3868, 0)); // Barrel 3
		World.deleteObject(new WorldObject(44105, 11, 2, 2833, 3868, 0)); // Barrel 2
		World.deleteObject(new WorldObject(44105, 11, 2, 2834, 3866, 0)); // Barrel 3
		/***************************** HOME *****************************************/
		
		World.deleteObject(new WorldObject(65386, 10, 0, 3224, 3904, 0)); // Wilderness Gate
		World.deleteObject(new WorldObject(65386, 10, 0, 3336, 3896, 0)); // Wilderness Gate
		
		/***************************** DONATOR ZONE *********************************/
		World.spawnNPC(1552, new WorldTile(5895, 4684, 1), 0, true, EntityDirection.SOUTH); // Santa (Donator Shop)
		/***************************** DONATOR ZONE *********************************/
		/************************* SLAYER TOWER *************************************/
		//World.spawnNPC(id, tile, mapAreaNameHash, canBeAttackFromOutOfArea);
		World.spawnNPC(412, new WorldTile(3423, 3536, 0), 0, true); // Bat
		World.spawnNPC(412, new WorldTile(3418, 3536, 0), 0, true); // Bat
		World.spawnNPC(412, new WorldTile(3414, 3539, 0), 0, true); // Bat
		World.spawnNPC(412, new WorldTile(3412, 3536, 0), 0, true); // Bat
		World.spawnNPC(412, new WorldTile(3413, 3533, 0), 0, true); // Bat
		World.spawnNPC(412, new WorldTile(3407, 3536, 0), 0, true); // Bat
		/************************* SLAYER TOWER *************************************/
		
		/************************* TAVERLY DUNGEON **********************************/
		World.spawnNPC(82, new WorldTile(2932, 9796, 0), 0, true); // Lesser Demon
		World.spawnNPC(82, new WorldTile(2937, 9794, 0), 0, true); // Lesser Demon
		World.spawnNPC(82, new WorldTile(2931, 9800, 0), 0, true); // Lesser Demon
		World.spawnNPC(82, new WorldTile(2930, 9805, 0), 0, true); // Lesser Demon
		World.spawnNPC(82, new WorldTile(2927, 9803, 0), 0, true); // Lesser Demon
		World.spawnNPC(82, new WorldTile(2932, 9810, 0), 0, true); // Lesser Demon
		/************************* TAVERLY DUNGEON **********************************/
		
		/********************** DESERT STRYKEWYRMS **********************************/
		//World.spawnNPC(id, tile, mapAreaNameHash, canBeAttackFromOutOfArea);
		World.spawnNPC(9464, new WorldTile(3366, 3163, 0), -1, true);
		World.spawnNPC(9464, new WorldTile(3366, 3159, 0), -1, true);
		World.spawnNPC(9464, new WorldTile(3366, 3154, 0), -1, true);
		World.spawnNPC(9464, new WorldTile(3369, 3155, 0), -1, true);
		World.spawnNPC(9464, new WorldTile(3366, 3159, 0), -1, true);
		World.spawnNPC(9464, new WorldTile(3372, 3153, 0), -1, true);
		World.spawnNPC(9464, new WorldTile(3376, 3155, 0), -1, true);
		/********************** DESERT STRYKEWYRMS **********************************/
		
		/*************************** GOD WARS ***************************************/
		World.spawnNPC(6272, new WorldTile(2870, 5313, 0), -1, true);
		World.spawnNPC(6280, new WorldTile(2871, 5313, 0), -1, true);
		World.spawnNPC(6235, new WorldTile(2869, 5314, 0), -1, true);
		World.spawnNPC(6282, new WorldTile(2870, 5314, 0), -1, true);
		World.spawnNPC(6216, new WorldTile(2871, 5312, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2873, 5323, 0), -1, true);
		World.spawnNPC(6243, new WorldTile(2869, 5304, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2875, 5318, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2875, 5314, 0), -1, true);
		World.spawnNPC(374, new WorldTile(2872, 5317, 0), -1, true);
		World.spawnNPC(6271, new WorldTile(2873, 5317, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2878, 5313, 0), -1, true);
		World.spawnNPC(9184, new WorldTile(2877, 5314, 0), -1, true);
		World.spawnNPC(6274, new WorldTile(2873, 5319, 0), -1, true);
		World.spawnNPC(6274, new WorldTile(2872, 5307, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2875, 5313, 0), -1, true);
		World.spawnNPC(6210, new WorldTile(2876, 5326, 0), -1, true);
		World.spawnNPC(6283, new WorldTile(2877, 5326, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2878, 5327, 0), -1, true);
		World.spawnNPC(6273, new WorldTile(2873, 5325, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2877, 5321, 0), -1, true);
		World.spawnNPC(6273, new WorldTile(2873, 5324, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2886, 5311, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2884, 5311, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2885, 5311, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2883, 5311, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2888, 5305, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2887, 5312, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2884, 5312, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2886, 5313, 0), -1, true);
		World.spawnNPC(3406, new WorldTile(2886, 5312, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2888, 5314, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2885, 5315, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2881, 5320, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2888, 5326, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2889, 5310, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2886, 5299, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2894, 5301, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2886, 5325, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2883, 5320, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2895, 5309, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2895, 5310, 0), -1, true);
		World.spawnNPC(3406, new WorldTile(2896, 5310, 0), -1, true);
		World.spawnNPC(6246, new WorldTile(2872, 5300, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2869, 5301, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2887, 5299, 0), -1, true);
		World.spawnNPC(6216, new WorldTile(2867, 5304, 0), -1, true);
		World.spawnNPC(6246, new WorldTile(2872, 5315, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2891, 5297, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2891, 5297, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2872, 5318, 0), -1, true);
		World.spawnNPC(6281, new WorldTile(2865, 5316, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2865, 5327, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2879, 5322, 0), -1, true);
		World.spawnNPC(6232, new WorldTile(2863, 5308, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6281, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(3406, new WorldTile(2859, 5301, 0), -1, true);
		World.spawnNPC(6240, new WorldTile(2860, 5300, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2859, 5319, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2859, 5317, 0), -1, true);
		World.spawnNPC(6282, new WorldTile(2859, 5316, 0), -1, true);
		World.spawnNPC(6279, new WorldTile(2859, 5318, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2860, 5321, 0), -1, true);
		World.spawnNPC(9185, new WorldTile(2878, 5330, 0), -1, true);
		World.spawnNPC(6282, new WorldTile(2878, 5329, 0), -1, true);
		World.spawnNPC(6235, new WorldTile(2859, 5303, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2858, 5319, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2859, 5328, 0), -1, true);
		World.spawnNPC(6279, new WorldTile(2858, 5329, 0), -1, true);
		World.spawnNPC(6282, new WorldTile(2858, 5330, 0), -1, true);
		World.spawnNPC(6281, new WorldTile(2860, 5331, 0), -1, true);
		World.spawnNPC(6271, new WorldTile(2862, 5332, 0), -1, true);
		World.spawnNPC(6271, new WorldTile(2869, 5332, 0), -1, true);
		World.spawnNPC(6272, new WorldTile(2865, 5332, 0), -1, true);
		World.spawnNPC(6274, new WorldTile(2867, 5333, 0), -1, true);
		World.spawnNPC(6274, new WorldTile(2866, 5333, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2878, 5320, 0), -1, true);
		World.spawnNPC(6283, new WorldTile(2857, 5328, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2862, 5337, 0), -1, true);
		World.spawnNPC(6273, new WorldTile(2865, 5336, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2867, 5337, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2856, 5328, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2856, 5333, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2863, 5337, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2862, 5338, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2854, 5328, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2867, 5341, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2848, 5342, 0), -1, true);
		World.spawnNPC(6270, new WorldTile(2849, 5341, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2854, 5345, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2854, 5346, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2847, 5331, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2848, 5337, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2847, 5341, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2846, 5332, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2845, 5332, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2847, 5334, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2846, 5339, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2845, 5344, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2843, 5320, 0), -1, true);
		World.spawnNPC(6270, new WorldTile(2842, 5328, 0), -1, true);
		World.spawnNPC(6273, new WorldTile(2840, 5333, 0), -1, true);
		World.spawnNPC(6275, new WorldTile(2852, 5312, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2840, 5327, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2838, 5329, 0), -1, true);
		World.spawnNPC(6274, new WorldTile(2839, 5331, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2861, 5294, 0), -1, true);
		World.spawnNPC(6234, new WorldTile(2839, 5293, 0), -1, true);
		World.spawnNPC(6243, new WorldTile(2850, 5292, 0), -1, true);
		World.spawnNPC(6235, new WorldTile(2863, 5293, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2861, 5292, 0), -1, true);
		World.spawnNPC(6239, new WorldTile(2846, 5288, 0), -1, true);
		World.spawnNPC(6229, new WorldTile(2841, 5289, 0), -1, true);
		World.spawnNPC(6240, new WorldTile(2852, 5311, 0), -1, true);
		World.spawnNPC(6220, new WorldTile(2846, 5286, 0), -1, true);
		World.spawnNPC(6235, new WorldTile(2862, 5286, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2845, 5286, 0), -1, true);
		World.spawnNPC(6246, new WorldTile(2856, 5284, 0), -1, true);
		World.spawnNPC(6216, new WorldTile(2871, 5281, 0), -1, true);
		World.spawnNPC(6232, new WorldTile(2872, 5288, 0), -1, true);
		World.spawnNPC(6239, new WorldTile(2845, 5281, 0), -1, true);
		World.spawnNPC(6243, new WorldTile(2857, 5300, 0), -1, true);
		World.spawnNPC(6216, new WorldTile(2864, 5279, 0), -1, true);
		World.spawnNPC(6244, new WorldTile(2844, 5283, 0), -1, true);
		World.spawnNPC(6243, new WorldTile(2874, 5287, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2877, 5293, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2882, 5284, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2882, 5291, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2881, 5291, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2884, 5280, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2884, 5283, 0), -1, true);
		World.spawnNPC(6258, new WorldTile(2884, 5287, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2885, 5286, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2885, 5293, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2886, 5291, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2886, 5293, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2886, 5294, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2890, 5292, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2890, 5291, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2894, 5284, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2894, 5286, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2894, 5285, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2893, 5286, 0), -1, true);
		World.spawnNPC(6258, new WorldTile(2895, 5294, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2896, 5286, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2896, 5296, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6258, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2900, 5287, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2903, 5284, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2905, 5292, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2905, 5299, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2905, 5301, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2908, 5297, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2910, 5297, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2905, 5303, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2908, 5302, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2905, 5302, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2909, 5297, 0), -1, true);
		World.spawnNPC(6210, new WorldTile(2898, 5306, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2898, 5307, 0), -1, true);
		World.spawnNPC(6258, new WorldTile(2897, 5307, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2897, 5308, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2918, 5282, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2918, 5292, 0), -1, true);
		World.spawnNPC(6258, new WorldTile(2918, 5298, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2896, 5312, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2919, 5290, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2919, 5293, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2919, 5299, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2898, 5313, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2921, 5292, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2923, 5298, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2897, 5323, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2894, 5329, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2892, 5328, 0), -1, true);
		World.spawnNPC(6210, new WorldTile(2893, 5332, 0), -1, true);
		World.spawnNPC(6279, new WorldTile(2879, 5326, 0), -1, true);
		World.spawnNPC(6280, new WorldTile(2879, 5330, 0), -1, true);
		World.spawnNPC(6280, new WorldTile(2877, 5327, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2858, 5349, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2855, 5349, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2852, 5350, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2848, 5349, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2844, 5341, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2846, 5351, 0), -1, true);
		World.spawnNPC(6270, new WorldTile(2844, 5349, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2843, 5347, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6271, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6271, new WorldTile(2832, 5264, 0), -1, true);
		World.spawnNPC(6272, new WorldTile(2838, 5334, 0), -1, true);
		World.spawnNPC(6210, new WorldTile(2838, 5336, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2837, 5342, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2837, 5347, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2836, 5325, 0), -1, true);
		World.spawnNPC(6273, new WorldTile(2836, 5336, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2836, 5349, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2835, 5324, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2835, 5321, 0), -1, true);
		World.spawnNPC(6270, new WorldTile(2836, 5323, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2836, 5345, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2858, 5349, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2834, 5328, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2792, 5280, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2830, 5339, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2827, 5331, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2828, 5332, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2828, 5331, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2829, 5339, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2832, 5317, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2826, 5335, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2830, 5315, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2837, 5351, 0), -1, true);
		World.spawnNPC(6273, new WorldTile(2841, 5351, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2855, 5352, 0), -1, true);
		World.spawnNPC(6270, new WorldTile(2832, 5353, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2845, 5352, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2843, 5352, 0), -1, true);
		World.spawnNPC(6272, new WorldTile(2837, 5353, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2845, 5353, 0), -1, true);
		World.spawnNPC(6274, new WorldTile(2837, 5355, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2846, 5357, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2855, 5356, 0), -1, true);
		World.spawnNPC(6270, new WorldTile(2848, 5358, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2839, 5360, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2839, 5360, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2851, 5359, 0), -1, true);
		World.spawnNPC(6276, new WorldTile(2848, 5360, 0), -1, true);
		World.spawnNPC(6277, new WorldTile(2840, 5361, 0), -1, true);
		World.spawnNPC(6268, new WorldTile(2857, 5365, 0), -1, true);
		World.spawnNPC(6278, new WorldTile(2860, 5353, 0), -1, true);
		World.spawnNPC(6269, new WorldTile(2860, 5360, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2891, 5353, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2903, 5353, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2885, 5352, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2901, 5362, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2907, 5346, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2908, 5346, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2908, 5354, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2832, 5288, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2914, 5344, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2913, 5355, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2916, 5345, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2918, 5343, 0), -1, true);
		World.spawnNPC(6210, new WorldTile(2919, 5345, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2918, 5361, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2919, 5349, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2920, 5362, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2921, 5351, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2922, 5356, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2923, 5345, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2924, 5352, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2924, 5354, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2926, 5359, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2925, 5352, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2927, 5354, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2928, 5350, 0), -1, true);
		World.spawnNPC(6211, new WorldTile(2928, 5355, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2933, 5347, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2931, 5357, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2911, 5338, 0), -1, true);
		World.spawnNPC(6215, new WorldTile(2872, 5296, 0), -1, true);
		World.spawnNPC(6221, new WorldTile(2872, 5296, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2872, 5296, 0), -1, true);
		World.spawnNPC(6220, new WorldTile(2937, 5351, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2924, 5286, 0), -1, true);
		World.spawnNPC(6214, new WorldTile(2924, 5292, 0), -1, true);
		World.spawnNPC(6259, new WorldTile(2924, 5295, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2924, 5288, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2924, 5292, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2924, 5297, 0), -1, true);
		World.spawnNPC(6256, new WorldTile(2924, 5298, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2921, 5283, 0), -1, true);
		World.spawnNPC(6255, new WorldTile(2925, 5287, 0), -1, true);
		World.spawnNPC(6257, new WorldTile(2926, 5285, 0), -1, true);
		World.spawnNPC(6254, new WorldTile(2925, 5292, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2925, 5295, 0), -1, true);
		World.spawnNPC(3406, new WorldTile(2875, 5296, 0), -1, true);
		World.spawnNPC(6236, new WorldTile(2872, 5267, 0), -1, true);
		World.spawnNPC(6244, new WorldTile(2840, 5256, 0), -1, true);
		World.spawnNPC(6240, new WorldTile(2879, 5286, 0), -1, true);
		World.spawnNPC(6241, new WorldTile(2863, 5272, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2862, 5290, 0), -1, true);
		World.spawnNPC(6212, new WorldTile(2858, 5267, 0), -1, true);
		World.spawnNPC(6238, new WorldTile(2864, 5268, 0), -1, true);
		World.spawnNPC(6229, new WorldTile(2862, 5267, 0), -1, true);
		World.spawnNPC(6218, new WorldTile(2858, 5266, 0), -1, true);
		World.spawnNPC(6236, new WorldTile(2858, 5269, 0), -1, true);
		World.spawnNPC(6231, new WorldTile(2869, 5266, 0), -1, true);
		World.spawnNPC(6231, new WorldTile(2855, 5273, 0), -1, true);
		World.spawnNPC(6238, new WorldTile(2853, 5277, 0), -1, true);
		World.spawnNPC(6230, new WorldTile(2851, 5273, 0), -1, true);
		World.spawnNPC(6220, new WorldTile(2848, 5268, 0), -1, true);
		World.spawnNPC(6230, new WorldTile(2846, 5262, 0), -1, true);
		World.spawnNPC(6231, new WorldTile(2840, 5263, 0), -1, true);
		World.spawnNPC(6237, new WorldTile(2841, 5269, 0), -1, true);
		World.spawnNPC(6239, new WorldTile(2824, 5216, 0), -1, true);
		World.spawnNPC(6242, new WorldTile(2836, 5272, 0), -1, true);
		World.spawnNPC(6229, new WorldTile(2842, 5282, 0), -1, true);
		World.spawnNPC(6231, new WorldTile(2831, 5285, 0), -1, true);
		World.spawnNPC(6245, new WorldTile(2833, 5290, 0), -1, true);
		World.spawnNPC(6213, new WorldTile(2837, 5289, 0), -1, true);
		World.spawnNPC(6237, new WorldTile(2833, 5292, 0), -1, true);
		World.spawnNPC(6241, new WorldTile(2850, 5269, 0), -1, true);
		World.spawnNPC(6233, new WorldTile(2852, 5264, 0), -1, true);
		World.spawnNPC(6233, new WorldTile(2865, 5263, 0), -1, true);
		World.spawnNPC(6245, new WorldTile(2851, 5262, 0), -1, true);
		World.spawnNPC(6234, new WorldTile(2842, 5264, 0), -1, true);
		World.spawnNPC(6283, new WorldTile(2861, 5315, 0), -1, true);
		/*************************** GOD WARS ***************************************/

		World.spawnNPC(8629, new WorldTile(1888, 5127, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4278, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4275, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4273, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4270, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4267, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4265, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4263, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4262, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3161, 4261, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3153, 4251, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3156, 4249, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3172, 4261, 0), -1, true);
		World.spawnNPC(10479, new WorldTile(3173, 4268, 0), -1, true);

		World.spawnNPC(13335, new WorldTile(2182, 5669, 0), -1, true);

		World.spawnNPC(13460, new WorldTile(2704, 3642, 0), -1, true);
		World.spawnNPC(3334, new WorldTile(3135, 3739, 0), -1, true);

		// Khumn, mission giver
		World.spawnNPC(15867, new WorldTile(3145, 4656, 0), 0, false);

		// Polypore Dungeon Shop
		World.spawnNPC(875, new WorldTile(4724, 5466, 0), -1, false);

		/* Start of new home */
		/**************************************************************************/
		/**************************************************************************/
		World.spawnObject(new WorldObject(-1, 0, 0, 3671, 2976, 0), false);
		// Bankers
		World.spawnNPC(494, new WorldTile(3682, 2983, 0), -1, false, false);
		// Object spawning
//		World.spawnObject(new WorldObject(47120, 10, -1, 2651, 2653, 0), true);
		// Thieving stalls
		/**************************************************************************/
		/**************************************************************************/
		/* End of new Home */

		// Tzhaar
		World.spawnNPC(2625, new WorldTile(2617, 5132, 0), -1, false);
		World.spawnNPC(2614, new WorldTile(4666, 5082, 0), -1, false);

		/* Dungeoneering - Dungeon room objects */
		World.spawnObject(new WorldObject(49766, 10, 2, 89, 721, 0), true);
		World.spawnObject(new WorldObject(49768, 10, 2, 88, 721, 0), true);
		World.spawnObject(new WorldObject(49770, 10, 2, 87, 721, 0), true);
		World.spawnObject(new WorldObject(49772, 10, 2, 86, 721, 0), true);
		World.spawnObject(new WorldObject(49774, 10, 2, 85, 721, 0), true);

		// World.spawnNPC(4874, new WorldTile(4509, 5588, 0), -1, true, true);

		// Fishing SPOT spawnings!
		World.spawnNPC(327, new WorldTile(2604, 3419, 0), -1, true, true);
		World.spawnNPC(6267, new WorldTile(2605, 3420, 0), -1, true, true);
		World.spawnNPC(312, new WorldTile(2605, 3421, 0), -1, true, true);
		World.spawnNPC(313, new WorldTile(2604, 3422, 0), -1, true, true);
		World.spawnNPC(952, new WorldTile(2603, 3422, 0), -1, true, true);
		World.spawnNPC(327, new WorldTile(2604, 3423, 0), -1, true, true);
		World.spawnNPC(6267, new WorldTile(2605, 3424, 0), -1, true, true);
		World.spawnNPC(312, new WorldTile(2605, 3425, 0), -1, true, true);
		World.spawnNPC(327, new WorldTile(2599, 3419, 0), -1, true, true);
		World.spawnNPC(6267, new WorldTile(2598, 3422, 0), -1, true, true);
		World.spawnNPC(8864, new WorldTile(2590, 3419, 0), -1, true, true);
		World.spawnNPC(328, new WorldTile(2604, 3426, 0), -1, true, true);
		World.spawnNPC(329, new WorldTile(2603, 3426, 0), -1, true, true);

//		World.spawnObject(new WorldObject(38453, 10, -3, 4502, 5608, 0), true);// unlit beacon

		// Fishing spot
		World.spawnObject(new WorldObject(36786, 10, 2, 2587, 3422, 0), true);

		// Runecrafting skill ALTARS + NPC's + Banks
		World.spawnObject(new WorldObject(2478, 10, -2, 2600, 3155, 0), true);// 1-Air altar
		World.spawnObject(new WorldObject(2479, 10, -2, 2597, 3155, 0), true);// 2-Mind altar
		World.spawnObject(new WorldObject(2480, 10, -2, 2594, 3157, 0), true);// 3-Water altar
		World.spawnObject(new WorldObject(2481, 10, -2, 2594, 3160, 0), true);// 4-Earth altar
		World.spawnObject(new WorldObject(2482, 10, -2, 2594, 3163, 0), true);// 5-Fire altar
		World.spawnObject(new WorldObject(2483, 10, -2, 2594, 3166, 0), true);// 6-Body altar
		World.spawnObject(new WorldObject(2484, 10, -2, 2603, 3157, 0), true);// 7-Cosmic altar
		World.spawnObject(new WorldObject(2487, 10, -2, 2603, 3160, 0), true);// 8-Chaos altar
		World.spawnObject(new WorldObject(17010, 10, -2, 2603, 3163, 0), true);// 9-Astral altar
		World.spawnObject(new WorldObject(2486, 10, -2, 2603, 3166, 0), true);// 10-Nature altar
		World.spawnObject(new WorldObject(2485, 10, -2, 2600, 3168, 0), true);// 11-Law altar
		World.spawnObject(new WorldObject(2488, 10, -2, 2597, 3168, 0), true);// 12-Death altar
		World.spawnObject(new WorldObject(30624, 10, -2, 2510, 3169, 0), true);// 13-Blood altar
		World.spawnObject(new WorldObject(2489, 10, -2, 2513, 3169, 0), true);// 14-Soul altar
		World.spawnObject(new WorldObject(27663, 10, -1, 2599, 3165, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -3, 2600, 3165, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -1, 2599, 3164, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -3, 2600, 3164, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -1, 2599, 3163, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -3, 2600, 3163, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -1, 2599, 3162, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -3, 2600, 3162, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -1, 2599, 3161, 0), true);// Bank chest
		World.spawnObject(new WorldObject(27663, 10, -3, 2600, 3161, 0), true);// Bank chest
		World.spawnNPC(537, new WorldTile(2598, 3162, 0), -1, true, true);// Scavvo (rc shop)

		// summoning area NPC
		World.spawnNPC(6970, new WorldTile(2207, 5345, 0), -1, true, true);// Pikkupstix (summoning shops)

		World.spawnNPC(9085, new WorldTile(1738, 5313, 1), 0, false); // Kuradal

	}

	/**
	 * The NPC classes.
	 */
	private static final Map<Integer, Class<?>> CUSTOM_NPCS = new HashMap<Integer, Class<?>>();

	public static void npcSpawn() {
		int size = 0;
		boolean ignore = false;
		try {
			for (String string : FileUtilities.readFile("data/npcs/npcspawns.txt")) {
				if (string.startsWith("//") || string.equals("")) {
					continue;
				}
				if (string.contains("/*")) {
					ignore = true;
					continue;
				}
				if (ignore) {
					if (string.contains("*/")) {
						ignore = false;
					}
					continue;
				}
				String[] spawn = string.split(" ");
				@SuppressWarnings("unused")
				int id = Integer.parseInt(spawn[0]), x = Integer.parseInt(spawn[1]), y = Integer.parseInt(spawn[2]), z = Integer.parseInt(spawn[3]), faceDir = Integer.parseInt(spawn[4]);
				NPC npc = null;
				Class<?> npcHandler = CUSTOM_NPCS.get(id);
				if (npcHandler == null) {
					npc = new NPC(id, new WorldTile(x, y, z), -1, true, false);
				} else {
					npc = (NPC) npcHandler.getConstructor(int.class).newInstance(id);
				}
				if (npc != null) {
					WorldTile spawnLoc = new WorldTile(x, y, z);
					npc.setLocation(spawnLoc);
					//World.spawnNPC(npc.getId(), spawnLoc, -1, true, false);
					size++;
				}
			}
		} catch (NumberFormatException e1) {
			e1.printStackTrace();
		} catch (IllegalArgumentException e1) {
			e1.printStackTrace();
		} catch (SecurityException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		} catch (InstantiationException e1) {
			e1.printStackTrace();
		} catch (IllegalAccessException e1) {
			e1.printStackTrace();
		} catch (InvocationTargetException e1) {
			e1.printStackTrace();
		} catch (NoSuchMethodException e1) {
			e1.printStackTrace();
		}
		System.err.println("Loaded " + size + " custom npc spawns!");
	}

}